﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	printf("AWTX");
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int n = 100;
//
//	printf("%c\n",'a');//打印字符
//	printf("%d\n", n);//printf打印整型
//	printf("%lf\n", 3.14);//printf打印双精度浮点型
//    return 0;
//}
//int main(int argc, char* argv[])
//{
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	for (a = 32;a <= 127;a++)
//	{
//		printf("%c	", a);
//	}
//	return 0;
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
//	char arr1[] = "abcdef";
//	char arr2[] = { 'a','b','c','d','e','f' };
//	printf("%zd\n", strlen(arr1));
//	printf("%zd\n", strlen(arr2));
//	printf("%c", '\130');
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//    printf("%zd\n", sizeof(char));
//    printf("%zd\n", sizeof(long));
//    printf("%zd\n", sizeof(short));
//    printf("%zd\n", sizeof(long long));
//    printf("%zd\n", sizeof(float));
//    printf("%zd\n", sizeof(double));
//    return 0;
//}
//#include<stdio.h>
//int main()
//{
//    short s = 2;
//    int b = 10;
//    printf("%zd\n", sizeof(s = b + 1));
//}
//#include<stdio.h>
//int main()
//{
//    printf("%*.*f\n", 6, 2, 0.5);
//    return 0;
//
//}
//#include<stdio.h>
//int main()
//{
//    printf("%f\n", 123.45);
//
//    return 0;
//}
//{
//    printf("%s will coming today", "AWTX阿维同学");
//    return 0;
//}
//{
//    printf("this is %c", 'A');
//    return 0;
//}
//
//{
//    double e = 12345.6666666666666666;
//        printf("输出为%e", e);
//    return 0;
//}
//{
//    printf("输出为：%x", 15);
//    return 0;
//}
//{
//    printf("输出为：%5d\n", 123);
//    printf("输出为：%-5d\n", 123);// printf("输出为：%-5d\n", 123); 这一句话是向左对齐
//    printf("输出为：%d\n", 123);
//}
//{
//    printf("输出为：%12.1lf\n", 12.12);
//    printf("输出为：%*.*lf\n", 12, 1, 12.12);
//}
//{
//    printf("输出为：%s\n", "abcdef");
//    printf("输出为：%.3s\n", "abcdef");
//}
//{
//    int a;
//    float b;
//    scanf("%d" ,&a);
//    printf("输出为：%d\n", a);
//    scanf("%f", &b);
//    printf("输出为：%f\n", b);
//    return 0;
//}
//{
//    int a;
//    float b;
//    scanf("%d %f", &a, &b);
//    printf("%d %f\n", a,b);
//    return 0;
//}
//{
//    char ch;
//    scanf(" %c", &ch);
//    printf("xxx%cyyyy", ch);
//    return 0;
//
//}
//{
//    char arr[5] = {0};
//    scanf("%4s", arr);
//    printf("%s", arr);
//    return 0;
//}
//{
//    int num = 0;
//    scanf("%d", &num);
//    if (num % 2 == 1)
//        printf("%d 是奇数\n", num);
//    else
//        printf("%d 是偶数\n", num);
//    return 0;
//}
//{/*
	/*int age = 0;
	scanf("%d", &age);
	if (age < 18)
		printf("青少年");
	else if (age <= 44)
		printf("中年");
	else if (age <= 59)
		printf("中老年");
	else if (age < 89)
		printf("老年");
	else
		printf("老寿星");
}*/
//{
//    char name;
//    printf("你的名字叫：\n");
//    scanf("%s", name);
//    printf("hello,%s", &name);
//    return 0;
//}

/*编程实现，将一个百分制成绩转换为五分制成绩。转换原则，
当成绩大于或等于90分为A，小于90分且大于等于80分为B，
小于80分且大于等于70分为C，小于70分且大于等于60分为D；
小于60分为E。程序文件名51.c。（要求用switch语句）*/
//#include<stdio.h>
//int main()
//{
//	int a;
//	int success;
//	printf("请输入百分制成绩：");
//	scanf_s("%d", &a);
//	success = scanf_s("%d", &a);
//	if (success != 1)
//	{
//		printf("输入错误，请输入一个整数。\n");
//		return 0;
//	}
//	if (a>=90)
//	{
//		a = 1;
//	}
//	else if (a>=70)
//	{
//		a = 3;
//	}
//	else if (a>=60)
//	{
//		a = 4;
//	}
//	else if (a<60)
//	{
//		a = 5;
//	}
//	switch (a)
//	{
//	case 1: printf("您的五分制成绩为：A"); 
//		break;
//	case 2: printf("您的五分制成绩为：B"); 
//		break;
//	case 3: printf("您的五分制成绩为：C");
//		break;
//	case 4: printf("您的五分制成绩为：D"); 
//		break;
//	case 5: printf("您的五分制成绩为：E");
//		break;
//	default:
//		printf("未知的成绩等级\n");
//		break;
//	}
//	return 0;
//}
/*编程实现，从键盘上输入10个学生的成绩，
求平均成绩、最高分和最低分。*/
/*    输入测试数据：34 56 87 90 87 65 78 87 96 69
	程序运行结果：max=96 min=34 avg=74.90
*/
//#include<stdio.h>
//int main()
//{
//	int a=0, b;
//	printf("请输入百分制成绩：");
//	scanf("%d", &a);
//	b = a / 10;
//	switch (b)
//	{
//	case 9:printf("A"); break;
//	case 8:printf("B"); break;
//	case 7:printf("C"); break;
//	case 6:printf("D"); break;
//	default:printf("E"); break;
//	}
//	return 0;
//}
// 
/*/编程实现，从键盘上输入10个学生的成绩，求平均成绩、最高分和最低分。程序文件名52.c（参考例2）。
输入测试数据：34 56 87 90 87 65 78 87 96 69
程序运行结果：max = 96 min = 34 avg = 74.90*/
//#include<stdio.h>  
//int main()
//{
//    int i, sum = 0, max = 0, min, s;
//    float avg;
//    min = 100;
//    for (i = 0; i < 10; i++)
//    {
//        printf("请输入第%d个学生的成绩：\n", i + 1);
//        scanf("%d", &s);
//        sum += s;
//        if (s > max)
//        {
//            max = s;
//        }  
//        if (s < min)
//        {
//            min = s;
//        }
//    } 
//    avg = (float)sum / 10; 
//    printf("平均成绩为：%.2f\n", avg);
//    printf("最高分为：%d\n", max);
//    printf("最低分为：%d\n", min);
//    return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int k,a=0, b=0;
//    float c = 0;
//	for ( k = 1; k <=100; k++)
//	{
//		a += k;
//	}
//	for ( k = 1; k <= 50; k++)
//	{
//		b += (k * k);
//	}
//	for ( k = 1; k <=10; k++)
//	{
//		c += (1.0 / k);
//	}
//	printf("第一个求和项 :%d\n", a);
//	printf("第二个求和项 :%d\n", b);
//	printf("第三个求和项 :%f\n", c);
//	printf("总和 = %f\n", a+b+c);
//}
//#include<stdio.h>  
//
//int main()
//{
//    int k, a = 0, b = 0;
//    float c = 0;
//    for (k = 1; k <= 100; k++) // 修改条件为 k <= 50  
//    {
//        a += k;
//    }
//    for (k = 1; k <= 50; k++)
//    {
//        b += (k * k);
//    }
//    for (k = 1; k <= 10; k++)
//    {
//        c += (1.0 / k); // 强制将 k 转换为 float 类型，以执行浮点数除法  
//    }
//    printf("第一个求和项（1到50的和）: %d\n", a);
//    printf("第二个求和项（1到100的k的平方和）: %d\n", b);
//    printf("第三个求和项（1到10的1/k的和）: %.10f\n", c); // 使用 %.10f 打印浮点数  
//    printf("总和 = %.10f\n", a + b + c);
//
//    return 0;
//}
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	int i = 1,m;
//	double s = 0;
//	scanf("%d", &m);
//	for ( i = 1; i <= m; i++)
//	{
//		s += log(i);
//	}
//	printf("s=%lf", sqrt (s));
//}
//#include<stdio.h>  
//#include<math.h>  
//
//int main()
//{
//	int i, m;
//	double s = 0.0; // 修改为 double 类型  
//
//	scanf("%d", &m);
//	for (i = 1; i <= m; i++) // 改为 i <= m 以包括 m  
//	{
//		s += log(i); // log 函数返回 double 类型  
//	}
//	double result = sqrt(s); // 计算平方根  
//	printf("s=%lf\n", result); // 使用 %.10f 打印 double 类型的值  
//
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int n=100,m;
//	for ( n = 2; n < 100; n++)
//	{
//		if (n%2=)
//		{
//
//		}
//	}
//	return 0;
//}
//#include <stdio.h>  
//#include <stdbool.h>  
//
//bool is_prime(int num) {
//    if (num <= 1) {
//        return false;
//    }
//    for (int i = 2; i * i <= num; i++) {
//        if (num % i == 0) {
//            return false;
//        }
//    }
//    return true;
//}
//
//int main() {
//    printf("2到100之间的所有素数为：\n");
//    for (int i = 2; i <= 100; i++) {
//        if (is_prime(i)) {
//            printf("%d ", i);
//        }
//    }
//    printf("\n");
//    return 0;
//}
//#include <stdio.h>  
//#include <math.h>  
//
//// 函数声明  
//long long sum_of_repeated_numbers(int a, int n);
//
//int main() {
//    int a, n;
//
//    // 输入a和n的值  
//    printf("Enter the value of a: ");
//    scanf("%d", &a);
//    printf("Enter the value of n: ");
//    scanf("%d", &n);
//
//    // 计算并打印结果  
//    long long s = sum_of_repeated_numbers(a, n);
//    printf("The sum is: %lld\n", s);
//
//    return 0;
//}
//
//// 函数定义  
//long long sum_of_repeated_numbers(int a, int n) {
//    long long term = 0; // 当前的项  
//    long long sum = 0;  // 总和  
//
//    for (int i = 0; i < n; i++) {
//        term = term * 10 + a; // 构造当前项  
//        sum += term;         // 将当前项添加到总和中  
//    }
//
//    return sum;
//}
// 编程实现，求s=a+aa+aaa+⏞(aa⋯a)┴n个a的值，
// 其中a是一个数字。例如当a为2，n为5时，
// 计算，2＋22＋222＋2222＋22222的值
//#include<stdio.h>
//int main()
//{
//	printf("请输入a和n\n");
//	int a,n,k,t=0,s=0;
//	scanf("%d%d", &a ,& n);
//	for ( k=1; k<=n; k++)
//	{
//		t = t* 10 + a;
//		s += t;
//	}
//	printf("结果为：%d", s);
//	return 0;
//}


//#include<stdio.h>  
//
//int main() {
//    printf("请输入a和n\n");
//    int a, n, s = 0, t = 0, k;
//    scanf("%d%d", &a, &n);
//    // 对于每一项，我们从1开始迭代n次  
//    for (k = 1; k <= n; k++) {
//        // 如果t是0（即第一次迭代），则t直接等于a  
//        // 否则，t乘以10并加上a来得到下一个累加项  
//        if (k == 1) {
//            t = a;
//        }
//        else {
//            t = t * 10 + a;
//        }
//        // 将当前项t加到总和s上  
//        s += t;
//    }
//    printf("结果为：%d\n", s);
//    return 0;
//}
/*编程实现，输入一行字符，
分别统计出其中英文字母，空格，数字和其它字符的个数(以\n作为结束)。*/

//#include <stdio.h>
//int main()
//{
//	int m = 0, n = 0, o = 0, p = 0;
//	char c;
//	printf("请输入字符串：");
//  // 使用getchar直接读取字符串，无需先使用scanf  
//	while ((c = getchar()) != '\n')
//	{
//		if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z')
//			m += 1;
//		else if (c >= '0' && c <= '9')
//			n += 1;
//		else if (c == ' ')
//			o += 1;
//		else 
//			p += 1;
//	}
//	printf("英文字符的个数：%d\n", m);
//	printf("数字字符的个数：%d\n", n);
//	printf("空格的个数：%d\n", o);
//	printf("其它字符的个数：%d\n", p);
//	return 0;
//}
#include <stdio.h>  
int main() {
    int i, j;
    int m = 6; // 根据图形确定星号的最大数量  

    // 上半部分：星号数量逐渐增加  
    for (i = 1; i <= m; i++) {
        // 打印空格  
        for (j = 1; j <= m - i; j++) {
            printf("  ");
        }
        // 打印星号  
        for (j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n"); // 换行  
    }
    // 下半部分：星号数量逐渐减少（排除中间的星号最多的那一行）  
    for (i = m - 1; i > 0; i--) {
        // 打印空格  
        for (j = 1; j <= m - i; j++) {
            printf("  ");
        }
        // 打印星号  
        for (j = 1; j <= i; j++) {
            printf("*");
        }
        printf("\n"); // 换行  
    }
    return 0;
}
//#include <stdio.h>
//int main()
//{
//	int i, j, k;
//	for ( i = 0; i <= 5; i++)
//	{
//		for ( j = 0; j <= 10-i+1; j++)
//		{
//			printf(" ");
//		}
//		for ( k = 0; k < i; k++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	for (i = 4; i >=0; i--)
//	{
//		for (j = 0; j <= i- 1 ; j++)
//		{
//			printf(" ");
//		}	
//		for (k = 0; k <= i; k++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	return 0;
////}
//#include<stdio.h>
//int main()
//{
//	int i, j, k;
//	int n=0 ;
//		for (i = 1; i <= 27; i++)
//		{
//			for (j = 1; j <= 30-i; j++)
//			{
//				k = 30-i-j;
//				if (i + (j * 2) + (k * 5) == 100 && (i * j * k) != 0)
//				{
//					printf("%d   %d  %d \n ", i, j, k);
//					n++;
//				}
//
//			}	
//		}	
//		printf("共%d种配法",n);
//		return 0;
//}
